package com.vca.common.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 讲座排期后台管理Response
 * </p>
 *
 * @author Li
 * @since 2022-11-15 15:47
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="TalkSchedulingAdminResponse对象", description="讲座排期后台管理Response")
public class TalkSchedulingAdminResponse implements Serializable {

    private static final long serialVersionUID = 8372878337392590927L;

    @ApiModelProperty(value = "讲座排期主键id")
    private Long id;

    @ApiModelProperty(value = "讲座id")
    private Long talkId;

    @ApiModelProperty(value = "讲座类型 1=线下讲座 2=线上讲座")
    private Integer talkType;

    @ApiModelProperty(value = "讲座名称")
    private String name;

    @ApiModelProperty(value = "讲座封面图")
    private String coverImage;

    @ApiModelProperty(value = "直播id")
    private Long liveId;

    @ApiModelProperty("直播状态 1:直播中(默认值), 2:预约中, 3:结束, 4:点播, 5:回放")
    private Integer liveStatus;

    @ApiModelProperty(value = "排期日期")
    private String schedulingDate;

    @ApiModelProperty(value = "排期当天开始时间")
    private String schedulingStartTime;

    @ApiModelProperty(value = "排期当天结束时间")
    private String schedulingEndTime;

    @ApiModelProperty(value = "讲座语言id")
    private Integer courseLanguageId;

    @ApiModelProperty(value = "语言")
    @TableField(exist = false)
    private String language;

    @ApiModelProperty(value = "讲座价格")
    private BigDecimal price;

    @ApiModelProperty(value = "限量")
    private Integer quota;

    @ApiModelProperty(value = "当前讲座所剩席位")
    @TableField(exist = false)
    private Integer schedulingSeatCount;

    @ApiModelProperty(value = "预约人数")
    private Integer numberOfAppointments;

    @ApiModelProperty(value = "参与人数")
    private Integer numberOfParticipants;

    @ApiModelProperty(value = "预约状态")
    private Integer status;

    @ApiModelProperty(value = "讲座状态 0=已结束 1=进行中 2=未开始")
    private Integer schedulingStatus;

    @ApiModelProperty(value = "是否删除")
    private Integer isDeleted;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
}
